var formStatus = false;

/**
 * 表单元素加密
 */
function elementEncry(obj)
{
	var val = $(obj).val();
	var valEncry = val ? $.md5(val) : val;
	$(obj).val(valEncry);
}

//触发打开文件选择框
function openfile(obj){
	$(obj).next('input[type="file"]').click();
}

/**
 * 全选/全不选
 */
function checkChose()
{
	var statusall= $('[name="checkboxAll"]').prop('checked');
	if( statusall == true){
		//已勾选的去除勾选
		$('[name=checkboxList]').each(function(k,obj){
			$(obj).removeAttr('checked');
		});
		$('[name="checkboxAll"]').removeAttr('checked');
	}else{
		//未勾选的增加勾选
		$('[name=checkboxList]').each(function(k,obj){
			$(obj).prop('checked','checked');
		});
		$('[name="checkboxAll"]').prop('checked','checked');
	}
}

/**
 * layer-open
 * 使用layer打开链接页面
 */
function layOpenView(url, height, width, title)
{
	layer.open({
		type: 2,
		title: title,
		shadeClose: true,
		shade: 0.8,
		area: [width, height],
		content: url
	}); 
}

/**
 * layer-close
 * 关闭 layer 弹框
 */
function layClose()
{
	var index = parent.layer.getFrameIndex(window.name);
	parent.layer.close(index);
}

/**
 *  ajax提交函数
 */
function ajaxFun(url,data,method,callback)
{
	$.ajax({
		headers: {
			'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
		},
		type : method,
		dataType : "JSON",
		url : url,
		data : data,
		success : function(res){
			if(typeof callback == "function"){
				callback(res);
			}
		}
	});
}

/**
 *  ajax回调函数信息处理
 *  res.status == 0 : 没有任何处理
 *  res.status == 1 : 跳转路由，无定义则为跳转自身（刷新）
 *  res.status == 2 : 父类刷新，关闭自身【用于弹框页面 ==> layer.open()】
 *  res.status == 3 : 刷新BootstrapTable表格
 */
var success = function (res)
{
	switch (parseInt(res.status)){
		case 0 :
			var actfun = function(){ formStatus = false;};
			break;
		case 1 :
			var actfun = function(){ (typeof(res.jumpurl) == "undefined") ? location.reload() : location.href = res.jumpurl; };
			break;
		case 2 :
			var actfun = function(){ parent.location.reload(); layClose(); };
			break;
		case 3 :
			var actfun = function () { ($('#tableEvents').length) ? $('#tableEvents').bootstrapTable('refresh') : location.reload();}
			break;
		default:
			var actfun = function(){};
	}
	layer.msg(res.message,{time:1500},actfun);
}

/**
 *  layer-prompt
 *  layer 备注管理
 *  type: 0 input 框 1 密码框 2 textarea 框
 */
function layInput(type,word, url,id,val)
{
	layer.prompt({title: word, formType: type, value:val},function(text){
		var data = { id : id, content : text};
		ajaxFun(url,data,'post',success);
	});
}

/**
 * layer-changeStatus
 * 使用layer改变状态值
 */
function layChangeStatus(url, word)
{
	layer.confirm('确定 '+ word +' 吗？',function(){
		var data = {};
		ajaxFun(url,data,'get',success);
	});
}

/**
 * layer-form
 * 使用layer提交表单
 */
function layAjaxForm(parameter, url, method)
{
	//console.log(formStatus);
	if(formStatus){
		layer.msg('提交中...',{time:1500});
		return true;
	}
	formStatus = true;
	ajaxFun(url,parameter,method,success);
}

/**
 * layer-delete
 * 使用layer删除列表中的元素
 */
function layListDel(obj, url, id, delelement)
{
	layer.confirm('确认要删除吗？',function(){
		$('#delid').val(id);
		var data = $('#delForm').serialize();
		var success = function (res) {
			if(res.status > 0){
				var actfun = (delelement == 'reload') ? location.reload() : $(obj).parents(delelement).animate({opacity:'0'},1200,function(){
					$(obj).parents(delelement).remove();
				}) ;
			}else if(res.status == 0){
				var actfun = function () {};
			}
			layer.msg(res.message,{time:1500},actfun);
		}
		ajaxFun(url,data,'post',success);
	});
}

/**
 * layer-multi-delete
 * 使用 layer 批量删除列表中的元素
 */
function layListMultiDel(url)
{
	var id = '';
	$('[name=checkboxList]').each(function(k,obj){
		if( $(obj).prop('checked') == true){
			//去除空值（由全选/全不选框产生）
			if(this.value){
				id  += this.value + ',';
			}
		}
	});
	if(id == ''){
		layer.msg('未选中删除项',{time:1200});
		return;
	}

	layer.confirm('确认要批量删除吗？',function(){
		id = id.substring(0,id.length-1);
		$('#delid').val(id);
		var data = $('#delForm').serialize();
		ajaxFun(url,data,'post',success);
	});
}

/**
 * layer-changeStatus
 * 使用layer改变状态值 并 说明理由
 */
function layRefuse(url, word)
{
	layer.confirm('确认'+ word +'吗？',function(){
		layer.prompt({title: word + '理由', formType: 2}, function(text){
			var data = {content : text};
			ajaxFun(url,data,'get',success);
		});
	});
}

/**
 * Bootstrap-table 列表封装函数
 */
function bootstrapList(url,searchform,pageSize)
{
	$('#tableEvents').bootstrapTable({
		search        : false,
		showRefresh   : true,
		showToggle    : false,
		showColumns   : true,
		pagination    : true,
		pageSize      : (pageSize==undefined) ? 25 : pageSize,
		pageList      : [10,25,50,100],
		iconSize      : 'outline',
		toolbar       : '#tableEventsToolbar',
		icons         : {
			refresh: 'fa fa-refresh',
			toggle : 'fa fa-list-alt',
			columns: 'fa fa-list'
		},
		sidePagination: 'server',
		method        : 'get',
		dataType	  : "json",
		url           : url,
		queryParams   : function(params) {
			return {
				pagenum: params.offset,
				limitnum: params.limit,
				sort: params.sort,
				order: params.order,
				search:searchform,
			};
		},
		responseHandler: function(res){
			return {
				"rows" : res.data,
				"total" : res.total
			}
		},
	});
}


/** 点击 触发 input 文件上传 **/
function getfile(obj,url){
	$(obj).css('display','none');
	$(obj).parent().find('.zhypic').click();
	$(obj).parent().find('.zhypic').change(function(event){
		event.preventDefault();
		var n=event.target.files.length;
		var file;
		for (var i = 0; i < n; i++) {
			file=event.target.files[i];
			htmlup(file,url);
		};
	});
}
/** 上传操作 **/
function htmlup(file,url){
	var form_data=new FormData();
	form_data.append("filedata",file);
	$.ajax({
		headers: {
			'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
		},
		url: url,
		type: 'POST',
		dataType: 'json',
		processData: false,
		contentType: false,
		data: form_data
	})
	.done(function(data) {
		layer.msg(data.msg,{time:1500},function(){
			location.reload();
		});
	})
}
//js数组得到最大最小值
function getMaximin(arr,maximin)
{
	if(maximin=="max")
	{
		return Math.max.apply(Math,arr);
	}
	else if(maximin=="min")
	{
		return Math.min.apply(Math, arr);
	}
}

/** 上传操作 **/
function htmlup(file,url){
	var form_data=new FormData();
	form_data.append("filedata",file);
	$.ajax({
		headers: {
			'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
		},
		url: url,
		type: 'POST',
		dataType: 'json',
		processData: false,
		contentType: false,
		data: form_data
	})
	.done(function(data) {
		layer.msg(data.msg,{time:1500},function(){
			location.reload();
		});
	})
}